package aspect.example;
import aspect.entity.behavior.Behavior;
import static aspect.core.AspectLauncher.*;
import static aspect.resources.Resources.*;
import aspect.entity.Entity;
import aspect.entity.behavior.Seizure;
import aspect.event.KeyEvent;
import aspect.render.Material;
import aspect.render.ViewModel;
import java.io.File;
import org.lwjgl.input.Keyboard;
public class EntityDemo extends Behavior {
private Entity cube;
public static void main(String[] args) {
run(800, 600, false, 60, new EntityDemo());
}
@Override
public void onAdd() {
Material material = new Material(loadTexture(new File("textures/tex.jpg")));
ViewModel model = box(material, 1, 1, 1);
cube = new Entity(model);
cube.pos.z = -4;
cube.addBehavior(new Seizure());
cube.addBehavior(new CmpntRotate());
addKeyListener(this);
}
@Override
public void update() {
cube.update();
}
@Override
public void keyEvent(KeyEvent evt) {
if (evt.key == Keyboard.KEY_F) {
cube.fireEvent("flip");
}
}
@Override
public void render() {
cube.render();
}
}